/*
 *   Copyright (c) 2010-2022, SIUFUNG
 */
package net.siufung.market.base.region.controller.assembler;

import com.google.common.collect.Lists;
import net.siufung.core.utils.CopyUtil;
import net.siufung.market.base.region.api.vo.RegionApiDto;
import net.siufung.market.base.region.mapper.entity.Region;
import org.springframework.util.CollectionUtils;

import java.util.List;
import java.util.Objects;

/**
 *
 * 行政区域信息 持久层展示层组装器
 *
 * @author 陈建峰
 * @since 2022-07-07 14:18:39
 */
public class RegionAssembler {

    /**
     * Region 转换成 RegionApiDto
     * @param region 数据库实体
     * @return RegionApiDto 视图
     */
    public static RegionApiDto from(Region region){
        if(!Objects.isNull(region)){
            RegionApiDto regionVo = new RegionApiDto();
            CopyUtil.copyProperties(region, regionVo);
            return regionVo;
        }
        return null;
    }

    /**
     * RegionList 转换成 RegionVoList
     * @param regionList 数据库实体集合
     * @return List<RegionApiDto> 视图集合
     */
    public static List<RegionApiDto> fromList(List<Region> regionList){
        List<RegionApiDto> regionVoList = Lists.newArrayList();
        if(!CollectionUtils.isEmpty(regionList)){
            RegionApiDto regionVo;
            for (Region region: regionList) {
                regionVo = new RegionApiDto();
                CopyUtil.copyProperties(region, regionVo);
                regionVoList.add(regionVo);
            }
        }
        return regionVoList;
    }
}

